software design
design of software
総説
system design の下位概念だ と言えるか?wint.icon
software architecture の上位概念と言えるか?wint.icon
重要な性質
coupling
結合、結合性
非デジタルなシステムでは誤差と公差が肝心
良い性質
閉包性
ref. https://speakerdeck.com/twada/understanding-the-spiral-of-technologies-2023-edition?slide=17
fig. https://files.speakerdeck.com/presentations/b1e1b471e9414fb8afd7020c5b82cc1f/preview_slide_16.jpg?27125080
量の変化が質の変化に
cf. 唯物論的弁証法
全域性と同じ?wint.icon
フラクタル性
システムや組織体や有機体は フラクタル構造に なってる。システムは、認知負荷を抑えるために、人間が改変して フラクタル性を導入している。 #フラクタル #fractalness
ref. Khononov (2024)
sociotechnical system
人間の柔軟な対応がシステムの resilience を ささえてる。
#resilience_engineering
論考
https://web.archive.org/web/20080803072849/http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/WhatIsSoftwareDesignJ.html
by Jack W. Reeves
ソフトウェア設計とは何か?
#software_engineering
spectrum
software design ⇄ software architecture
lower–higher
concrete–abstract
part–whole
conceptual analysis
module
⊃ component
∋ MSA (micro services architecture)
def. service with high modularity wint.icon
∋ closure
∋ function
関連
sociotechnical system
sociotechnical design
ref.
「こんな複雑なことをしないといけないのはおかしい」というソフトウェアエンジニアの勘 - valid,invalid
Modern Software Engineering
#SEMAT
制約を読まないエンジニアへ - 弁護士ドットコム株式会社 Creators’ blog
Design by Constraint vs #DbC / Design by Contract
ref. グローバル展開にむけたアプリと基盤の再構築 | メルカリエンジニアリング